import { Node } from "cc";


export enum ViewLayer {
    SCENE,
    MENU,
    FULL,
    TIPS,
    TOP,

    COUNT,
}

export enum ViewId {
    NONE,
    DEMO,
    DEMO_MULTI,

    COUNT
}


export type TViewConfig = {
    id: ViewId,
    name: string,
    bundle: string,
    prefab: string,
    layer: ViewLayer,
    atlasArr: string[],
}

export interface IViewCtrl {
    node: Node
    view: IView;
    model: any;
    dep: any[];
    config: TViewConfig;
    parseDep(): void;
    create(): Promise<Node>;
    destroy(): void;
}


export interface IView {
    myViewCtrl: any;
    dispose(): void;
}

export interface IViewDataProccesor {
    setData(data: any): void;
}


